package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.BizInspectionTemplate;
import com.ruoyi.system.domain.BizInspectionItem;

/**
 * 检验方案Mapper接口
 * 
 * @author ruoyi
 * @date 2025-10-29
 */
public interface BizInspectionTemplateMapper 
{
    /**
     * 查询检验方案
     * 
     * @param templateId 检验方案主键
     * @return 检验方案
     */
    public BizInspectionTemplate selectBizInspectionTemplateByTemplateId(Long templateId);

    /**
     * 查询检验方案列表
     * 
     * @param bizInspectionTemplate 检验方案
     * @return 检验方案集合
     */
    public List<BizInspectionTemplate> selectBizInspectionTemplateList(BizInspectionTemplate bizInspectionTemplate);

    /**
     * 新增检验方案
     * 
     * @param bizInspectionTemplate 检验方案
     * @return 结果
     */
    public int insertBizInspectionTemplate(BizInspectionTemplate bizInspectionTemplate);

    /**
     * 修改检验方案
     * 
     * @param bizInspectionTemplate 检验方案
     * @return 结果
     */
    public int updateBizInspectionTemplate(BizInspectionTemplate bizInspectionTemplate);

    /**
     * 删除检验方案
     * 
     * @param templateId 检验方案主键
     * @return 结果
     */
    public int deleteBizInspectionTemplateByTemplateId(Long templateId);

    /**
     * 批量删除检验方案
     * 
     * @param templateIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBizInspectionTemplateByTemplateIds(Long[] templateIds);

    /**
     * 批量删除检验项目明细
     * 
     * @param templateIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBizInspectionItemByTemplateIds(Long[] templateIds);
    
    /**
     * 批量新增检验项目明细
     * 
     * @param bizInspectionItemList 检验项目明细列表
     * @return 结果
     */
    public int batchBizInspectionItem(List<BizInspectionItem> bizInspectionItemList);
    

    /**
     * 通过检验方案主键删除检验项目明细信息
     * 
     * @param templateId 检验方案ID
     * @return 结果
     */
    public int deleteBizInspectionItemByTemplateId(Long templateId);
    
    /**
     * 查询当前最大检验方案编号（形如 ITxxx）
     * @return 最大编号
     */
    public String selectMaxTemplateNo();
}
